package com.example.a_java.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.math.BigDecimal;

/**
 * 贷款申请DTO
 */
@Data
public class LoanApplyDTO {

    /**
     * 客户姓名
     */
    @NotBlank(message = "客户姓名不能为空")
    private String customerName;

    /**
     * 客户ID
     */
    @NotNull(message = "客户ID不能为空")
    private Long customerId;

    /**
     * 联系电话
     */
    @NotBlank(message = "联系电话不能为空")
    private String phone;

    /**
     * 贷款类型
     */
    @NotBlank(message = "贷款类型不能为空")
    private String loanType;

    /**
     * 贷款金额
     */
    @NotNull(message = "贷款金额不能为空")
    @Positive(message = "贷款金额必须大于0")
    private BigDecimal amount;

    /**
     * 贷款期限(月)
     */
    @NotNull(message = "贷款期限不能为空")
    @Positive(message = "贷款期限必须大于0")
    private Integer term;

    /**
     * 贷款用途
     */
    @NotBlank(message = "贷款用途不能为空")
    private String purpose;

    /**
     * 还款方式
     */
    @NotBlank(message = "还款方式不能为空")
    private String repaymentMethod;

    /**
     * 担保方式
     */
    @NotBlank(message = "担保方式不能为空")
    private String guaranteeType;

    /**
     * 担保物价值，担保方式为抵押或质押时必填
     */
    private BigDecimal collateralValue;
} 
